Computing and communication networks typically include network devices, such as routers, firewalls, switches or gateways, which transfer or switch data, such as packets, from one or more sources to one or more destinations. Network devices may operate on the packets as the packets traverse the network, such as by forwarding or filtering the packet-based network traffic. Packets may be temporarily stored in queues as packets are moved through the network devices.
In conventional queuing system design, a bandwidth required from an on-chip static random access memory (SRAM)-based memory buffer is equal to a sum of the total receiver and transmitter port bandwidths. Attempts to reduce the conventional buffer bandwidth while maintaining desired performance have generally proved to be too costly or too complex for practical implementation.